#pragma once

struct t_mix_index_entry
{
    uint32_t id;                // id, used to identify the file instead of a normal name
    uint32_t offset;            // offset from start of body
    uint32_t size;              // size of this internal file
};

struct mix_file : public t_mix_index_entry
{
    CString name;
    uint8_t *data;
};

class CMix
{
public:
    CMix(void);
    ~CMix(void);

    void Open(CString filePath);

    list<mix_file*> m_fileList;


    uint8_t *m_pData;
    uint8_t *m_pIndex;
    uint8_t *m_pBody;
    uint8_t  m_nType;
    uint16_t m_nFileNum;
    uint32_t m_nBodySize;
    uint64_t m_nFileSize;
};

